--- /dev/null
+From 54385e6dc02ada9ec827b6b79b9359951197fee5 Mon Sep 17 00:00:00 2001
+Date: Tue, 9 Dec 2025 00:31:27 +0100
+Subject: [PATCH] apk: fix compile when using C89
+
+The older standard is more strict, and gives rise to errors:
+
+../src/apk.c: In function 'parse_options':
+../src/apk.c:584:4: error: a label can only be part of a statement and a declaration is not a statement
+ 584 | char *arg = opt_parse_arg(&st);
+ | ^~~~
+
+So move the *arg declaration to function start.
+
+../src/app_mkpkg.c: In function 'mkpkg_setup_compat':
+../src/app_mkpkg.c:423:2: error: label at end of compound statement
+ 423 | default:
+ | ^~~~~~~
+
+add break;
+
+---
+ src/apk.c | 3 ++-
+ src/app_mkpkg.c | 1 +
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+--- a/src/apk.c
++++ b/src/apk.c
+@@ -556,6 +556,7 @@ static int parse_options(int argc, char
+ struct apk_opt_match m;
+ bool applet_arg_pending = false;
+ int r;
++ char *arg;
+
+ applet = applet_from_arg0(argv[0]);
+ if (!applet) {
+@@ -581,7 +582,7 @@ static int parse_options(int argc, char
+ case 0:
+ break;
+ case OPT_MATCH_NON_OPTION:
+- char *arg = opt_parse_arg(&st);
++ arg = opt_parse_arg(&st);
+ if (applet_arg_pending && strcmp(arg, applet->name) == 0)
+ applet_arg_pending = false;
+ else if (arg[0] || !applet || !applet->remove_empty_arguments)
+--- a/src/app_mkpkg.c
++++ b/src/app_mkpkg.c
+@@ -421,6 +421,7 @@ static void mkpkg_setup_compat(struct mk
+ case 0: ctx->compat_rootnode = 1; // fallthrough
+ case 1: ctx->compat_dirnode = 1; // fallthrough
+ default:
++ break;
+ }
+ }
+